﻿using System;
using System.Linq;

namespace Jinndev.Modding {

    public interface IConfig {

        Config Base { get; }

        int Id { get; }

        string Sid { get; }

        int Category { get; }

        Mod Mod { get; }

        T GetSubConfig<T>() where T : SubConfig;

        SubConfig GetSubConfig(Type type);

        bool HasSubConfig<T>() where T : SubConfig;

        bool HasSubConfig(Type type);

    }

}